local plr = owner.Character for i,v in pairs(plr:GetDescendants()) do if v:IsA("BasePart") or v:IsA("Decal") then v.Transparency = 1 end end -- Tool -- Health owner.Character:FindFirstChild("Health"):Destroy() -- Anims --owner.Character:FindFirstChild("Animate").idle.Animation1.AnimationId = "rbxassetid://0" --owner.Character:FindFirstChild("Animate").idle.Animation2.AnimationId = "rbxassetid://0" --owner.Character.Humanoid.Jump = true -- Info Part local InfoPart = Instance.new("Part",owner.Character.Torso) InfoPart.Size = Vector3.new(6, 5, 1) InfoPart.CanCollide = false InfoPart.CanQuery = false InfoPart.Transparency = 1 local InfoGui = Instance.new("SurfaceGui",InfoPart) InfoGui.Face = "Back" local InfoText = Instance.new("TextBox",InfoGui) InfoText.Size = UDim2.new(1, 0, 1, 0) InfoText.BackgroundTransparency = 1 InfoGui.LightInfluence = 0 wait() InfoText.Text = "Controls: (E - Hello, -face -decalid- -defaultface, F - Slap, C - Bomb PS: Dont get to close to the bomb, Z - Heal PS: Can only be used when you're very low, T - Sit, Hats: -tophat -builderhat -partyhat -ninjahat -crown -piratehat -clown -nohat, R - Indicator) more coming soon lol" InfoText.TextStrokeTransparency = 0 InfoText.Visible = false InfoText.TextScaled = true InfoText.TextColor3 = Color3.fromRGB(255, 255, 255) local InfoPartWeld = Instance.new("Weld",InfoPart) InfoPartWeld.Part0 = InfoPart InfoPartWeld.Part1 = owner.Character.Torso InfoPartWeld.C0 = CFrame.new(0, -2, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) -- Hat local HandlePart = Instance.new("Part",owner.Character.Head) HandlePart.Size = Vector3.new(1, 1, 1) HandlePart.CanCollide = false HandlePart.CanQuery = false HandlePart.Transparency = 0 local HandlePartWeld = Instance.new("Weld",HandlePart) HandlePartWeld.Part0 = HandlePart HandlePartWeld.Part1 = owner.Character.Head HandlePartWeld.C0 = CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) local HatMesh = Instance.new("SpecialMesh",HandlePart) HatMesh.MeshType = Enum.MeshType.FileMesh -- Tutorial print("E - Hello, -face -decalid-...") print("Press n for more info.") -- Variables local FakeRightLeg = Instance.new("Part",owner.Character) FakeRightLeg.Size = Vector3.new(1, 2, 1) FakeRightLeg.TopSurface = "Smooth" FakeRightLeg.BottomSurface = "Smooth" FakeRightLeg.CanCollide = false local FRLWeld = Instance.new("Weld",FakeRightLeg) FRLWeld.Part0 = FakeRightLeg FRLWeld.Part1 = owner.Character["Right Leg"] FRLWeld.C0 = CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) local FakeLeftLeg = Instance.new("Part",owner.Character) FakeLeftLeg.Size = Vector3.new(1, 2, 1) FakeLeftLeg.TopSurface = "Smooth" FakeLeftLeg.BottomSurface = "Smooth" FakeLeftLeg.CanCollide = false local FLLWeld = Instance.new("Weld",FakeLeftLeg) FLLWeld.Part0 = FakeLeftLeg FLLWeld.Part1 = owner.Character["Left Leg"] FLLWeld.C0 = CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) local Torso = Instance.new("Part",owner.Character) Torso.Size = Vector3.new(2, 2, 1) Torso.TopSurface = "Smooth" Torso.BottomSurface = "Smooth" local TorsoWeld = Instance.new("Weld",Torso) TorsoWeld.Part0 = Torso TorsoWeld.Part1 = owner.Character.Torso TorsoWeld.C0 = CFrame.new(0, -0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) local FakeRightArm = Instance.new("Part",owner.Character) FakeRightArm.Size = Vector3.new(0.6, 2, 1) FakeRightArm.TopSurface = "Smooth" FakeRightArm.BottomSurface = "Smooth" FakeRightArm.CanCollide = false local FRAWeld = Instance.new("Weld",FakeRightArm) FRAWeld.Part0 = FakeRightArm FRAWeld.Part1 = owner.Character["Right Arm"] FRAWeld.C0 = CFrame.new(0.3, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) local FakeLeftArm = Instance.new("Part",owner.Character) FakeLeftArm.Size = Vector3.new(0.6, 2, 1) FakeLeftArm.TopSurface = "Smooth" FakeLeftArm.BottomSurface = "Smooth" FakeLeftArm.CanCollide = false local FLAWeld = Instance.new("Weld",FakeRightArm) FLAWeld.Part0 = FakeLeftArm FLAWeld.Part1 = owner.Character["Left Arm"] FLAWeld.C0 = CFrame.new(-0.3, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) local Head = Instance.new("Part",owner.Character) Head.Size = Vector3.new(1, 1, 1) Head.TopSurface = "Smooth" Head.BottomSurface = "Smooth" Head.CanCollide = false local HeadWeld = Instance.new("Weld",Head) HeadWeld.Part0 = Head HeadWeld.Part1 = owner.Character.Head HeadWeld.C0 = CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) local face = Instance.new("Decal",Head) face.Texture = "http://www.roblox.com/asset/?id=1549176297" local HeadMesh = Instance.new("BlockMesh",Head) HeadMesh.Scale = Vector3.new(1, 1, 1) -- Sounds local swing = Instance.new("Sound",FakeRightArm) swing.SoundId = "rbxassetid://12222200" swing.Volume = 5 local hit2 = Instance.new("Sound",FakeRightArm) hit2.SoundId = "rbxassetid://8907573127" hit2.Volume = 1 -- Controls if game:GetService("RunService"):IsClient() then error("Script isn't capable for local scripts sorry :P") end local Player,Mouse,mouse,UserInputService,ContextActionService = owner do script.Parent = Player.Character --RemoteEvent for communicating local Event = Instance.new("RemoteEvent") Event.Name = "UserInput_Event" --Fake event to make stuff like Mouse.KeyDown work local function fakeEvent() local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end} t.connect = t.Connect return t end --Creating fake input objects with fake variables local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()} local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()} local CAS = {Actions={},BindAction=function(self,name,fun,touch,...) CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil end} --Merged 2 functions into one by checking amount of arguments CAS.UnbindAction = CAS.BindAction --This function will trigger the events that have been :Connect()'ed local function te(self,ev,...) local t = m[ev] if t and t._fakeEvent and t.Function then t.Function(...) end end m.TrigEvent = te UIS.TrigEvent = te Event.OnServerEvent:Connect(function(plr,io) if plr~=Player then return end if io.isMouse then m.Target = io.Target m.Hit = io.Hit else local b = io.UserInputState == Enum.UserInputState.Begin if io.UserInputType == Enum.UserInputType.MouseButton1 then return m:TrigEvent(b and "Button1Down" or "Button1Up") end for _,t in pairs(CAS.Actions) do for _,k in pairs(t.Keys) do if k==io.KeyCode then t.Function(t.Name,io.UserInputState,io) end end end m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower()) UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false) end end) Event.Parent = NLS([==[ local Player = game:GetService("Players").LocalPlayer local Event = script:WaitForChild("UserInput_Event") local UIS = game:GetService("UserInputService") local input = function(io,a) if a then return end --Since InputObject is a client-side instance, we create and pass table instead Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState}) end UIS.InputBegan:Connect(input) UIS.InputEnded:Connect(input) local Mouse = Player:GetMouse() local h,t --Give the server mouse data 30 times every second, but only if the values changed --If player is not moving their mouse, client won't fire events while wait(1/30) do if h~=Mouse.Hit or t~=Mouse.Target then h,t=Mouse.Hit,Mouse.Target Event:FireServer({isMouse=true,Target=t,Hit=h}) end end]==],Player.Character) Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS end local hi = Instance.new("Sound",Head) hi.SoundId = "rbxassetid://1788966054" hi.Volume = 5 local debounce = false local debounce2 = false local debounce3 = false local debounce4 = false mouse.KeyDown:Connect(function(key) if key == 'e' then if not debounce then debounce = true hi:Play() wait(0.45) hi:Stop() task.wait(1) debounce = false end end if key == 'f' then if not debounce then debounce = true print("test print") local Attack = Instance.new("Animation",owner.Character) Attack.AnimationId = "rbxassetid://129967390" local PlayTrack = owner.Character.Humanoid:LoadAnimation(Attack) PlayTrack:Play() swing:Play() local hitbox = Instance.new("Part",owner.Character) hitbox.Size = Vector3.new(2, 2.5, 2) hitbox.TopSurface = "Smooth" hitbox.BottomSurface = "Smooth" hitbox.CanCollide = false local hitboxWeld = Instance.new("Weld",hitbox) hitboxWeld.Part0 = hitbox hitboxWeld.Part1 = owner.Character["Right Arm"] hitboxWeld.C0 = CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) local hitdebounce = false hitbox.Touched:Connect(function(hit) if hit.Parent:FindFirstChild("Torso") and hit.Parent:FindFirstChild("Humanoid") then if not hitdebounce then hitdebounce = true hit2:Play() local ahh = Instance.new("Sound",hit.Parent.Head) ahh.Volume = 10 ahh.SoundId = "rbxassetid://8447388510" local velocity = Instance.new("BodyVelocity",hit.Parent.Torso) velocity.Velocity = Vector3.new(90000000,9000000,900000000)*90000000000 wait(0.2) wait(1) velocity:Destroy() wait() ahh:Play() local boom = Instance.new("Explosion",hit.Parent.Torso) boom.Position = hit.Parent.Torso.Position boom.BlastRadius = 1 end end if hit.Parent:FindFirstChild("UpperTorso") and hit.Parent:FindFirstChild("Humanoid") then if not hitdebounce then hitdebounce = true hit2:Play() local ahh = Instance.new("Sound",hit.Parent.Head) ahh.Volume = 5 ahh.SoundId = "rbxassetid://8447388510" local velocity = Instance.new("BodyVelocity",hit.Parent.UpperTorso) velocity.Velocity = Vector3.new(90000000,9000000,900000000)*9000000 wait(0.2) wait(1) velocity:Destroy() wait() ahh:Play() local boom = Instance.new("Explosion",hit.Parent.UpperTorso) boom.Position = hit.Parent.UpperTorso.Position boom.BlastRadius = 1 end end end) wait(0.5) hitbox:Destroy() task.wait(0.6) debounce = false end end if key == 'c' then if not debounce then debounce = true local bomb = Instance.new("Part",workspace) bomb.Size = Vector3.new(3, 3, 3) bomb.Position = owner.Character.Torso.Position bomb.BrickColor = BrickColor.Black() bomb.Material = Enum.Material.CorrodedMetal bomb.Shape = "Ball" local click = Instance.new("Sound",bomb) click.SoundId = "rbxassetid://8388724806" click.Volume = 1 click:Play() wait(1) local click2 = Instance.new("Sound",bomb) click2.SoundId = "rbxassetid://4854660190" click2.Volume = 5 click2:Play() wait(2.088) local boom = Instance.new("Explosion",bomb) boom.Position = bomb.Position boom.BlastRadius = 15 boom.BlastPressure = 8000000 boom.ExplosionType = Enum.ExplosionType.CratersAndDebris local ahh = Instance.new("Sound",bomb) ahh.Volume = 10 ahh.SoundId = "rbxassetid://8447388510" ahh:Play() bomb.Transparency = 1 task.wait(1) debounce = false end end if key == 'n' then if InfoText.Visible == false then InfoText.Visible = not InfoText.Visible InfoPartWeld.C0 = CFrame.new(0, -2, 4) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) else InfoText.Visible = not InfoText.Visible InfoPartWeld.C0 = CFrame.new(0, -2, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) end end if key == 'z' then if owner.Character.Humanoid.Health < 46 then if not debounce2 then local healhp = 50 debounce2 = true local heal = Instance.new("Sound",Torso) heal.Volume = 5 heal.SoundId = "rbxassetid://260421433" heal:Play() local billboard3 = Instance.new("BillboardGui") local text2 = Instance.new("TextBox") billboard3.Parent = plr.Head text2.Parent = billboard3 billboard3.Size = UDim2.new(1,0,1,0) billboard3.StudsOffset = Vector3.new(-4.55,3,0,0) billboard3.AlwaysOnTop = true text2.Size = UDim2.new(10,0,3,0) text2.TextSize = 50 text2.TextScaled = true text2.BackgroundTransparency = 1 text2.TextColor3 = Color3.fromRGB(85, 170, 0) text2.TextStrokeTransparency = 0 text2.TextStrokeColor3 = Color3.fromRGB(0, 170, 0) if healhp then text2.Text = "HEALED: +"..healhp owner.Character.Humanoid.Health = owner.Character.Humanoid.Health + healhp end text2.Font = Enum.Font.SourceSans billboard3.MaxDistance = 100 wait(1) billboard3:Destroy() heal:Destroy() task.wait(1) debounce2 = false end else if not debounce3 then debounce3 = true print("Can't use it right now") local cant = Instance.new("Sound",Torso) cant.Volume = 0.3 cant.SoundId = "rbxassetid://138090596" cant:Play() wait(1) cant:Destroy() task.wait(2) debounce3 = false end end end if key == 't' then if owner.Character.Humanoid.Sit == false then owner.Character.Humanoid.JumpPower = 50 owner.Character.Humanoid.Sit = true else owner.Character.Humanoid.Sit = false owner.Character.Humanoid.JumpPower = 50 end if key == 'r' then end end end) -- Commands local billboard2 = Instance.new("BillboardGui") local text2 = Instance.new("TextBox") billboard2.Parent = plr.Head text2.Parent = billboard2 billboard2.Size = UDim2.new(1,0,1,0) billboard2.StudsOffset = Vector3.new(-4.55,5,0,0) billboard2.AlwaysOnTop = true text2.Size = UDim2.new(10,0,3,0) text2.TextSize = 50 text2.TextScaled = true text2.BackgroundTransparency = 1 text2.TextColor3 = Color3.fromRGB(255, 255, 255) text2.TextStrokeTransparency = 1 text2.TextStrokeColor3 = Color3.fromRGB(0, 0, 0) text2.Text = "" text2.Font = Enum.Font.Cartoon billboard2.MaxDistance = 30 local speak = Instance.new("Sound",Head) speak.Name = "Speak" speak.SoundId = "rbxassetid://12221831" -- Chat local function chat(msg) text2.Text = "" local words = string.split(msg, "") local mesg = string.sub(msg, 4) for i,v in pairs(words) do text2.Text = text2.Text..v speak:Play() task.wait(0.1) end if msg.match(msg, '/e ') then text2.Text = "" end task.wait(4) if text2.Text == msg then text2.Text = "" end end owner.Chatted:Connect(chat) -- Commands local function command(msg) local args = string.split(msg, " ") if args[1] == "-face" then face.Texture = "rbxassetid://"..args[2] end if args[1] == "-defaultface" then face.Texture = "rbxassetid://1549176297" end if args[1] == "-tophat" then HatMesh.MeshId = "rbxassetid://1028713" HatMesh.TextureId = "http://www.roblox.com/asset/?id=106243641" HatMesh.Scale = Vector3.new(1, 1, 1) HandlePart.BrickColor = BrickColor.new("Medium stone grey") HandlePartWeld.C0 = CFrame.new(0, -0.76, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) end if args[1] == "-builderhat" then HatMesh.MeshId = "rbxassetid://1073659" HatMesh.TextureId = "rbxassetid://112346870" HatMesh.Scale = Vector3.new(1, 1, 1) HandlePart.BrickColor = BrickColor.new("Medium stone grey") HandlePartWeld.C0 = CFrame.new(0, -0.84, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) end if args[1] == "-partyhat" then HatMesh.MeshId = "rbxassetid://1778999" HatMesh.TextureId = "http://www.roblox.com/asset/?id=1778994" HatMesh.Scale = Vector3.new(1, 1, 1) HandlePart.BrickColor = BrickColor.new("Medium stone grey") HandlePartWeld.C0 = CFrame.new(0, -1.34, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) end if args[1] == "-ninjahat" then HatMesh.MeshId = "rbxassetid://1286427" HatMesh.TextureId = "" HandlePart.BrickColor = BrickColor.new("Black") HatMesh.Scale = Vector3.new(1.25, 1.25, 1.25) Handl